John the ripper是一個幫助你快速爆破密碼的工具,支援多個作業系統,Unix、macOS、Windows、DOS、BeOS以及OpenVMS,目標對象的作業系統是Unix。它有幾種方式協助你爆破密碼,分別為簡單模式(Single crack mode)、字典模式(Wordlist crack mode)、窮舉模式(Incremental mode),打靶機時比較常用字典模式。
首先,安裝john the ripper
apt install John
今天的範例用HTB Luanne這個靶機說明,假設目前已經取得加密過後的密碼,現在利用john來進行密碼爆破,wordlist利用常見的roockyou.txt。
cat .htpasswd
接著,將雜湊值儲存至一個檔案並進行爆破。
echo '[hash value]' > webapi.txt
john --wordlist=/usr/share/wordlists/rockyou.txt webapi.txt
--wordlist
指定利用哪個詞典爆破密碼,也可以不要指定
最後結果發現密碼為iamthebest,除了直接輸入一些hash value進行爆破外,它也能夠爆破zip、pfx、ssh的私鑰(private key)。
zip2john
幫助你先將zip檔案轉換成john能夠爆破的格式。這個範例是靶機Timelapse的情境,我們進入目標的共享資料夾裡發現一個壓縮檔,下載下來後轉成john能夠處理的格式
zip2john winrm_backup.zip > winrm.txt
john --wordlist=/usr/share/wordlists/rockyou.txt winrm.txt
透過john爆破後,發現密碼為supremelegacy,將壓縮檔解密後發現裡面又包含一個加密的pfx檔,利用pfx2john
這個工具將pfx轉檔。
什麼是pfx檔?pfx文件是使用PKCS #12標準加密的安全文件,用於存儲和傳輸用於認證個人或設備(例如計算機或Web伺服器)的安全證書,需要密碼才能打開。即使拿到證書(pfx檔),沒有加密的密碼也是徒勞無功的,接下來我們就利用john來獲取加密的密碼。
pfx2john [pfx file] > [new file]
john --wordlist=/usr/share/wordlists/rockyou.txt [new file]
[pfx file]
指定要轉檔的pfx檔[new file]
輸出的指定檔名
加密這份證書的密碼為thuglegacy,進一步利用這份證書與目標靶機連線。
我將以靶機OpenAdmin講解如何使用ssh2john,目前我們已知ssh的私鑰,但是還需要將這份私鑰加密的明文密碼,才能夠利用ssh進行連線。下圖是已取得的私鑰
將這個私鑰複製並儲存至idrsa.txt,並將私鑰的格式轉成john能夠接受的格式,接著一樣用rockyou.txt進行密碼猜解。
python ssh2john.py idrsa.txt >> hash.txt
john -wordlist=/us/share/wordlists/rockyou.txt hash.txt
最後獲得使用者密碼為 bloodninja,就能夠獲得目標靶機的存取權限。
今天我對於john the ripper的介紹到此結束,感謝您的收看:)